Repository navigation
chore(template): make new satellites match the existing ones - #10
Merged
Merged
Conversation
…ellites The template workflows used tag pins, validate-data had no permissions block and carried a comment about game-catalog's record count. They now take the form game-catalog runs: the same pinned SHAs, read-only permissions, concurrency and timeouts.
Both satellites run a final-check workflow and the template had none. The new one is game-catalog's with the repository and category filled in. The checklist now registers the repo in repos.json with its allowed secret and names the label and the token to set up, and the tests allow TECHENGINEBOT_TOKEN in final-check.yml only.
New satellites start with the maintainers team as code owners and a short PR template: title convention, develop as the target, validator and tests, cited sources, and the sidebar filled in by hand. Issue templates are left to the organisation's shared ones. The template validator's docstring no longer quotes game-catalog's record count.
The pinned-action rule was a grep inside final-check.yml that only saw this repository's own workflows, so the template could generate tag-pinned ones unnoticed. It is now a test over both directories, and the final check runs that test. CI installs a fixed pytest instead of the newest.
The .github repo has no workflows and no endpoint; the check lists its workflows, finds none and reports nothing, which a test now pins down. TechMachine was the one repository with workflows that nothing watched.
Generating a repository must produce exactly the expected tree, so adding or dropping a template file is a deliberate change to the test as well.
… org's repositories The README now lists what the health check actually inspects, the files the scaffolder writes and the steps for creating a satellite, with a short table of the organisation's repositories.
Every tracked text file is already LF; this keeps it that way on Windows.
The organisation has no teams, so a team handle would own nothing.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What & why
Part of #5. The satellite template had drifted from the repositories it is meant to reproduce: its workflows pinned actions by tag, it had no final check, no CODEOWNERS and no PR template. A satellite created today would not have passed the organisation's own rules. The template now writes what game-catalog actually runs.
Changes
deploy-pages.ymlandvalidate-data.ymlpin actions by SHA and declarepermissions:, concurrency and timeouts. Afinal-check.ymlis added (label-triggered, one TechEngineBot comment).CODEOWNERSand a pull request template. The owner is a user handle because the organisation has no teams.tests/test_pinned_actions.pychecks that everyuses:in this repo's workflows and in the template's is a GitHub-owned action pinned by full SHA; the final check calls it instead of a shell grep. Another test pins the exact list of files a new satellite starts with, so template changes are deliberate.repos.jsonalso lists the.githubprofile repo and TechMachine itself.repos.jsonentry includesallowed_secrets, and the checklist covers thefinal-checklabel and its secret..editorconfigand.gitattributes; every tracked file was already LF.Checks
pytest: 37 passed locally.